#include <iostream>

void Swap(int&a,int&b)
{
    int temp = a;
    a = b;
    b = temp;
}

void PrintInt(const int &a)
{
    // a++;   常引用不允许修改
    std::cout<<a<<std::endl;
}

int main()
{
    //引用:替代指针
    //引用是变量的别名
    //引用符号：&
    //1、引用的定义必须要初始化
    //2、引用一经确定，不可再修改朝向
    // int a=10;
    // int& b=a;
    // b=20;
    // std::cout<<a<<std::endl;
    // return 0;

    int a = 10;
    int b = 20;
    Swap(a,b);
    std::cout<<"a="<<a<<" b="<<b<<std::endl;

    //引用？本质：指针常量
    // int a=10;
    // int &b=a;   ///int *const b = &a

    //左值引用：只能取左值
    //int &c=10;
    const int &c=10;//常引用:const&:可以取右值
    PrintInt(a);
    return 0;
}